package br.com.javamagazine.leilaojm.ejb;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import br.com.javamagazine.leilaojm.domain.*;

@Stateless
public class AnuncioService {

	@PersistenceContext
	private EntityManager entityManager;

	public Anuncio recuperaAnuncioPeloId(Integer id) {
		return entityManager.find(Anuncio.class, id);
	}

	public void salvaAnuncio(Anuncio anuncio) {
		entityManager.persist(anuncio);
	}

	public void salvaImagemAnuncio(ImagemAnuncio imagemAnuncio) {
		entityManager.persist(imagemAnuncio);
	}

	public void atualizaAnuncio(Anuncio anuncio) {
		entityManager.merge(anuncio);
	}

	@SuppressWarnings("unchecked")
	public List<Anuncio> listaAnuncios() {
		Query query = entityManager
				.createQuery("Select a from Anuncio a order by a.titulo");

		return query.getResultList();
	}

	@SuppressWarnings("unchecked")
	public List<Anuncio> listaAnunciosDoModelo(Integer idModelo) {
		Query query = entityManager
				.createQuery("Select a from Anuncio a where a.modelo.id = :idModelo");
		query.setParameter("idModelo", idModelo);

		return query.getResultList();
	}

}
